require 'uri'
require 'net/http'


class Downloader
  def initialize(servidor, pagina_inicio, datos_validacion)
    @trafico = 0
    @cliente = Net::HTTP.new(servidor)

    respuesta, datos = @cliente.get(pagina_inicio)
    @trafico += datos.size
    @cookie = respuesta.response['set-cookie']

    cabecera = {
      'Cookie' => @cookie,
      'Content-Type' => 'application/x-www-form-urlencoded'
    }

    respuesta, datos = @cliente.post(pagina_inicio, datos_validacion, cabecera)
    @trafico += datos.size
    @cookie = respuesta.response['set-cookie']
  end

  def leer_pagina(pagina)
    respuesta, datos = @cliente.get(pagina, {'Cookie' => @cookie})
    @trafico += datos.size
    @cookie = respuesta.response['set-cookie']

    datos
  end

  def head_pagina(pagina)
    @cliente.head(pagina)
  end

  attr_reader :trafico

end
